1. Technical Field
This invention relates generally to a data transfer switch and, more particularly, to an address handler for asynchronous transfer mode (ATM) switch.
2. Discussion
A common switch for voice, data and video traffic is needed to integrate communications systems to reduce costs and to improve performance. Voice traffic is typically carried on synchronous links by telephone switches, for example a Public Branch Exchange (PBX), which use dedicated channels which are time division multiplexed (TDM) to a higher frequency. These switches do not effectively utilize available bandwidth. The position of each channel in a frame is fixed, each frame occurs regularly, and individual channels can be identified by their position within a frame. Since the spacing for each channel is reserved regardless of whether the channel is being used, these switches do not effectively use available bandwidth. While being relatively inexpensive for voice communications, TDM is unsuited for bursty data traffic since bandwidth is allocated to each channel regardless of whether it is actually in use.
Local area networks (LAN) currently handle a large portion of data traffic. Because the prices of desktop computers and work stations continue to decline as their performance and availability increases, the need for higher network bandwidth increases. In addition, entirely new applications requiring even higher networking bandwidths are being developed to utilize the advanced performance and availability. For example, these new applications include imaging in electronic documents, visual modeling in real-time, and multi-media which integrates voice, video and data. These new applications, among others, require vastly improved networking capabilities than currently available because video and image data can consume large portions of bandwidth, can require fast and consistent response time (for example, two-way voice communication), and can require synchronization of voice, video, and data.
Conventional LANnetworks include a plurality of nodes connected through a common channel having a fixed bandwidth. A sending node sends variable-length data packets to receiving node(s) using the address of the receiving node(s). Each variable-length packet typically includes a fixed header including address data and a variable length payload containing data. If the amount of data to be transmitted is large, a stream of data packets is sent.
Expected use of the common LAN network channels is statistical and not dedicated as with telephone switching systems. While, on average, each node is expected to use a percentage of the bandwidth of the common channel, actual use of the common channel is much more dynamic. Significant problems occur when multiple nodes send large data packets simultaneously. While one node is transmitting, other nodes cannot access the bandwidth. Since the nodes share the common channel with fixed bandwidth, the LAN network bandwidth can be easily exceeded. When the data packets are not received by the selected node, the data packets must be retransmitted by the sending node which further occupies the available bandwidth. One solution is to decrease the number of users per LAN network, however, increased cost of equipment and decreased ability to communicate with excluded nodes make this solution an unattractive alternative.
Conventional LAN networks are not suitable for carrying two-way, time-sensitive voice traffic. Because LAN networks typically lack a priority system, a variable length packet must essentially wait an indeterminate period until bandwidth is available. As such, time-sensitive traffic, for example a two-way conversation, will have undesirable delays.
An integrated network or switch fabric for carrying voice, video and data traffic, currently carried by different types of networks or switch fabrics requiring separate networks, is desirable. The separate networks or switches increase costs by requiring duplication of equipment. For multimedia applications, the voice, video and data are typically separated, transmitted on the separated networks and reassembled. As can be appreciated, reassembly and re-synchronization can be extremely complex.
Referring to FIG. 1, an asynchronous transfer mode (ATM) network 10, which can transfer voice, video and data traffic at high speed includes a plurality of ATM switches 12 for transferring fixed-length packets or cells of voice, video and data at very high speeds. Each cell includes a header containing address and priority information and a payload containing voice, video and data traffic.
ATM switches 12 can interface with other ATM switches via network to network interfaces (NNI) 14. ATM switch 12 can also interface with an end device or customer premises equipment (CPE) 16 via user to network interfaces (UNI) 18. Referring to FIG. 2, a standard ATM cell 22 typically includes a header 24 which includes 5 bytes and a data payload 26 which includes 48 bytes.
For example, UNI 18 can be virtual channels (VC), identified by a virtual channel identifier 30, which can be combined with each other to form the NNI 14 which can be a virtual path (VP), identified by a virtual path identifier 32. As can be appreciated, UNI 18 can be a VP since both VCs and VPs can originate from CPE. VCs are logic circuits which allow unidirectional flow capability for ATM cells. Referring to FIG. 2, standard ATM cell 22 includes VPI 32 including 8 or 12 bits and VCI 30 including 16 bits. VPs include groups of VCs having the same VPI 32. In other words, VPs are logical channel connections between two endpoints where the quality of service for all internal logical channel connections between the endpoints is maintained.
FIG. 3 illustrates network layering in an ATM switching system. Note that currently proposed ATM switching systems will be subscriber systems. In other words, a subscriber would contact a carrier or subscriber service to subscribe ATM switching service for a given period and for a given ATM cell transmission and reception rate prior to generating and outputting ATM cells containing voice, video and/or data traffic on ATM switching network 10. The subscriber or subscriber service could define maximum and/or average ATM cell transmission rates and destination(s) for the ATM cell data stream(s). The subscriber service could define the VCI 30 and the VPI 32 for each ATM cell data stream(s). The subscriber service would then set up ATM switching network 10 to translate each VPI and VCI as required to route the ATM cell data streams to the proper destination. ATM switching system 10 could operate automatically with subscribers electronically requesting service and the subscriber service electronically granting or denying the requested service.
As described above, VCs are logic circuits which allow unidirectional flow capability for ATM cells. VCs are terminated and initiated on ATM switches, routers and multiplexers (MUX) as needed. Each VC terminates when the VPI and/or VCI is translated or changed, as will be described below. Every time a VC is switched, an input VPI and/or VCI is translated or changed to an output VPI and/or VCI. Concatenations of VCs form a virtual channel link (VCL).
Virtual paths (VPs) and virtual path connections (VPCs) are logic circuits which also allow unidirectional flow capability for ATM cells. The VPC includes multiple VCLs having an identical virtual path identifier (VPI). VPIs are translated or changed at VP switching points in ATM switching system 10. Virtual path links (VPLs) are terminated when VPIs are assigned, translated, or removed.
For example, a first end user at a first virtual channel connection endpoint (VCCE.sub.1) inputs and receives packets or cells on a first VCL using an address header with a VCI designated VCIa. A first virtual channel switch (VCSW.sub.1) terminates VCIa and translates the address header of the ATM cells to VCIb. After flowing through the VPC, the VC designated VCIb are terminated at VCSW.sub.2, the address header is translated to VCIc, and ATM cells 22 are routed to a second end user at VCCE.sub.2.
Similarly, a third end user at a third virtual channel connection endpoint (VCCE.sub.3) inputs and receives packets or cells on a second. VCL using an address header with a VCI designated VCIm. A third virtual channel switch (VCSW.sub.3) terminates the VC designated VCIm and translates the address header of ATM cells 22 from VCIm to VCIn. After flowing through the VPC, the VC designated VCIn are terminated at VCSW.sub.4, translated to VCIo and routed to a fourth end user at VCCE.sub.4. Note that the first and second VCL are routed through the same VPC since they both have an identical VPI.
Referring to FIG. 4, a switching system for packets, for example fixed-length ATM cells, is shown and includes a plurality of input ports 50(1), 50(2), . . . , and 50(N) connected by a switch fabric 54 to one or more output ports 58(1), 58(2), . . . , and 58(M). Each input port 50 can include an address handler 62, a cell router 66, and a cell traffic policer 70. Address handler 62 evaluates header 24 of each cell 22 input thereto to validate cells for routing by cell router 66 and to detect invalid cells that are not routed. Cell router 66 provides address translation and internal address processing required for switch fabric 54. Payload 26 is generally not processed by ATM switching networks 10. Cell traffic policer 70 monitors input data streams including a plurality of cells 22 on a VP and/or VC basis at entry points to ATM switching network 10.
Input data streams input to input port 50 include a plurality of ATM cells 22 which are provided at a cell input rate. Cell policer 70 monitors ATM cell input rates to ensure one subscriber does not exceed a subscribed peak input data rate. Cell policer 70 can also monitor average input data stream rates if needed. Switch fabric 54 switches each ATM cell 22 to an output port 58 which is dependant upon routing information contained in the VCI and VPI.
Conventional ATM switching systems must terminate a VP in order to add or drop a VC therefrom which adds complexity and cost to the conventional ATM switching system. In other words, more VPs are used for a fixed number of CPE requiring VCs than are actually required. In addition, the address header for VPIs has been allocated a fixed number of bits. As use increases, the active number of VPs required in an ATM switching system may exceed the number of distinct VPIs.
Referring to FIG. 5, a prior art address handler 100 includes an input interface 104 connected to an idle cell filter 108 which removes idle ATM cells inserted in the input data stream (of multiple ATM cells) to maintain proper synchronization. The idle cells are sent to a cell disposal circuit 112. Non-idle ATM cells are sent to a VP filter circuit 116 which routes ATM cells having preselected VPIs to a VP routing circuit 120. VP cell routing circuit 120 does not modify the VCI for ATM cells routed thereto by VP filter circuit 116. An addressing table in VP filter circuit 116 contains the VPIs for the pre-selected VPIs to be routed. VPs are usually processed first since VP circuits must preserve the VCI field across the switched connection.
Non-idle and non-preselected VP ATM cells are sent to a VC filter circuit 124 which routes pre-selected VC ATM cells to a VC cell routing circuit 128. VC Filter circuit 124 similarly includes an addressing table containing VCIs for preselected VCs. Cells which have not been routed by either VP filter 116 or VC filter 124 are assumed to be invalid ATM cells which are output by VC filter circuit 124 to a cell error processing circuit 132. VC cell routing circuit 128 can modify the VPI and/or VCI.
Referring to FIG. 6, problems associated with the prior art address handler 100 are illustrated. An ATM switching system 140 according to the prior art includes ATM switches 138, 140 and 142 and first, second and third VPCs 144, 146 and 148 each containing one or more VCCs which interconnect a plurality of CPEs. Generally VPs or VPCs are set up between specific endpoints for the sole purpose of carrying VCCs between the endpoints. VCCs are not allowed to be added or dropped between the specific endpoints. VCCs are grouped by source and destination using point-to-point VPCs. Conventional ATM switching system 140 must terminate a VPC in order to add or drop a VCC therefrom which adds complexity and cost to ATM switching system 140. In other words, more VPCs are used for a fixed number of CPE requiring VCCs than are actually required. In addition, the address header for the VPI has been allocated a fixed number of bits. As use increases, the active number of VPs required in an ATM switching system may exceed the number of distinct VPIs.
Large private networks will want to logically interconnect their sites using VPCs which could use up the available VPI address space within certain switches located in the interior of a network of switches. VPCs are easier to provision and maintain so both CPE and network providers tend to rely on VPEs more than trying to manage the large addressing space of possible VCCs. Therefore, a need exists for more VPI space than VCI space but many systems have already allocated the address space for fixed purposes.
Therefore, it is desirable to decrease the number of VPs used in a given system to maximize use of available VPI and bandwidth. Furthermore, it is desirable to maximize use of the bits available for the VPI.